@@ -27,9 +27,9 @@ There is an exported docker volume of /var/lib/mysql to allow persistence of tha |
||
27 | 27 |
|
28 | 28 |
Additionally, the database variables may be overridden from the above as per the standard Huginn documentation: |
29 | 29 |
|
30 |
- DATABASE_ADAPTER #(must be either 'postgres' or 'mysql2') |
|
31 |
- DATABASE_HOST |
|
32 |
- DATABASE_PORT |
|
30 |
+ HUGINN_DATABASE_ADAPTER #(must be either 'postgres' or 'mysql2') |
|
31 |
+ HUGINN_DATABASE_HOST |
|
32 |
+ HUGINN_DATABASE_PORT |
|
33 | 33 |
|
34 | 34 |
This script will run database migrations (rake db:migrate) which should be idempotent. |
35 | 35 |
|
@@ -52,15 +52,15 @@ Simple stand-alone usage: |
||
52 | 52 |
To link to another mysql container, for example: |
53 | 53 |
|
54 | 54 |
docker run --rm --name newcentury_mysql -p 3306 \ |
55 |
- -e MYSQL_DATABASE=huginn \ |
|
56 |
- -e MYSQL_USER=huginn \ |
|
57 |
- -e MYSQL_PASSWORD=somethingsecret \ |
|
58 |
- -e MYSQL_ROOT_PASSWORD=somethingevenmoresecret \ |
|
55 |
+ -e HUGINN_MYSQL_DATABASE=huginn \ |
|
56 |
+ -e HUGINN_MYSQL_USER=huginn \ |
|
57 |
+ -e HUGINN_MYSQL_PASSWORD=somethingsecret \ |
|
58 |
+ -e HUGINN_MYSQL_ROOT_PASSWORD=somethingevenmoresecret \ |
|
59 | 59 |
cantino/huginn |
60 | 60 |
docker run --rm --name huginn --link newcentury_mysql:MYSQL -p 5000:5000 \ |
61 |
- -e DATABASE_NAME=huginn \ |
|
62 |
- -e DATABASE_USER=huginn \ |
|
63 |
- -e DATABASE_PASSWORD=somethingsecret \ |
|
61 |
+ -e HUGINN_DATABASE_NAME=huginn \ |
|
62 |
+ -e HUGINN_DATABASE_USER=huginn \ |
|
63 |
+ -e HUGINN_DATABASE_PASSWORD=somethingsecret \ |
|
64 | 64 |
cantino/huginn |
65 | 65 |
|
66 | 66 |
To link to another container named 'postgres': |
@@ -69,45 +69,58 @@ To link to another container named 'postgres': |
||
69 | 69 |
|
70 | 70 |
## Environment Variables |
71 | 71 |
|
72 |
-Other Huginn 12factored environment variables of note, as generated and put into the .env file as per Huginn documentation: |
|
73 |
- |
|
74 |
- APP_SECRET_TOKEN=${APP_SECRET_TOKEN:-CHANGEME} |
|
75 |
- DOMAIN=${HUGINN_HOST:-localhost}:${PORT:-5000} |
|
76 |
- ${ASSET_HOST:+ASSET_HOST=${ASSET_HOST}} |
|
77 |
- DATABASE_ADAPTER=${DATABASE_ADAPTER:-mysql2} |
|
78 |
- DATABASE_ENCODING=${DATABASE_ENCODING:-utf8} |
|
79 |
- DATABASE_RECONNECT=${DATABASE_RECONNECT:-true} |
|
80 |
- DATABASE_NAME=${DATABASE_NAME:-huginn} |
|
81 |
- DATABASE_POOL=${DATABASE_POOL:-5} |
|
82 |
- DATABASE_USERNAME=${DATABASE_USERNAME:-root} |
|
83 |
- DATABASE_PASSWORD="${DATABASE_PASSWORD}" |
|
84 |
- DATABASE_PORT=${DATABASE_PORT:-3306} |
|
85 |
- DATABASE_HOST=${DATABASE_HOST:-localhost} |
|
86 |
- DATABASE_PORT=${DATABASE_PORT:-3306} |
|
87 |
- ${DATABASE_SOCKET:+DATABASE_SOCKET=${DATABASE_SOCKET:-/tmp/mysql.sock}} |
|
88 |
- ${RAILS_ENV:+RAILS_ENV=${RAILS_ENV:-production}} |
|
89 |
- FORCE_SSL=${FORCE_SSL:-false} |
|
90 |
- INVITATION_CODE=${INVITATION_CODE:-try-huginn} |
|
91 |
- SMTP_DOMAIN=${SMTP_DOMAIM=-example.com} |
|
92 |
- SMTP_USER_NAME=${SMTP_USER_NAME:-you@gmail.com} |
|
93 |
- SMTP_PASSWORD=${SMTP_PASSWORD:-somepassword} |
|
94 |
- SMTP_SERVER=${SMTP_SERVER:-smtp.gmail.com} |
|
95 |
- SMTP_PORT=${SMTP_PORT:-587} |
|
96 |
- SMTP_AUTHENTICATION=${SMTP_AUTHENTICATION:-plain} |
|
97 |
- SMTP_ENABLE_STARTTLS_AUTO=${SMTP_ENABLE_STARTTLS_AUTO:-true} |
|
98 |
- EMAIL_FROM_ADDRESS=${EMAIL_FROM_ADDRESS:-huginn@example.com} |
|
99 |
- AGENT_LOG_LENGTH=${AGENT_LOG_LENGTH:-200} |
|
100 |
- AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID:-your aws access key id}" |
|
101 |
- AWS_ACCESS_KEY="${AWS_ACCESS_KEY:-your aws access key}" |
|
102 |
- AWS_SANDBOX=${AWS_SANDBOX:-false} |
|
103 |
- FARADAY_HTTP_BACKEND=${FARADAY_HTTP_BACKEND:-typhoeus} |
|
104 |
- DEFAULT_HTTP_USER_AGENT="${DEFAULT_HTTP_USER_AGENT:-Huginn - https://github.com/cantino/huginn}" |
|
105 |
- ALLOW_JSONPATH_EVAL=${ALLOW_JSONPATH_EVAL:-false} |
|
106 |
- ENABLE_INSECURE_AGENTS=${ENABLE_INSECURE_AGENTS:-false} |
|
107 |
- ${USE_GRAPHVIZ_DOT:+USE_GRAPHVIZ_DOT=${USE_GRAPHVIZ_DOT:-dot}} |
|
108 |
- TIMEZONE="${TIMEZONE:-Pacific Time (US & Canada)}" |
|
109 |
- |
|
110 |
-The defaults used are the Huginn defaults as per the [.env.example](https://github.com/cantino/huginn/blob/master/.env.example) file. |
|
72 |
+Other Huginn 12factored environment variables of note, as generated and put into the .env file as per Huginn documentation, |
|
73 |
+with an additional `HUGINN_` prefix to the variable. |
|
74 |
+ |
|
75 |
+These are: |
|
76 |
+ |
|
77 |
+ HUGINN_APP_SECRET_TOKEN |
|
78 |
+ HUGINN_DOMAIN |
|
79 |
+ HUGINN_ASSET_HOST |
|
80 |
+ HUGINN_DATABASE_ADAPTER |
|
81 |
+ HUGINN_DATABASE_ENCODING |
|
82 |
+ HUGINN_DATABASE_RECONNECT |
|
83 |
+ HUGINN_DATABASE_NAME |
|
84 |
+ HUGINN_DATABASE_POOL |
|
85 |
+ HUGINN_DATABASE_USERNAME |
|
86 |
+ HUGINN_DATABASE_PASSWORD |
|
87 |
+ HUGINN_DATABASE_HOST |
|
88 |
+ HUGINN_DATABASE_PORT |
|
89 |
+ HUGINN_DATABASE_SOCKET |
|
90 |
+ HUGINN_RAILS_ENV |
|
91 |
+ HUGINN_FORCE_SSL |
|
92 |
+ HUGINN_INVITATION_CODE |
|
93 |
+ HUGINN_SMTP_DOMAIM |
|
94 |
+ HUGINN_SMTP_USER_NAME |
|
95 |
+ HUGINN_SMTP_PASSWORD |
|
96 |
+ HUGINN_SMTP_SERVER |
|
97 |
+ HUGINN_SMTP_PORT |
|
98 |
+ HUGINN_SMTP_AUTHENTICATION |
|
99 |
+ HUGINN_SMTP_ENABLE_STARTTLS_AUTO |
|
100 |
+ HUGINN_EMAIL_FROM_ADDRESS |
|
101 |
+ HUGINN_AGENT_LOG_LENGTH |
|
102 |
+ HUGINN_TWITTER_OAUTH_KEY |
|
103 |
+ HUGINN_TWITTER_OAUTH_SECRET |
|
104 |
+ HUGINN_THIRTY_SEVEN_SIGNALS_OAUTH_KEY |
|
105 |
+ HUGINN_THIRTY_SEVEN_SIGNALS_OAUTH_SECRET |
|
106 |
+ HUGINN_GITHUB_OAUTH_KEY |
|
107 |
+ HUGINN_GITHUB_OAUTH_SECRET |
|
108 |
+ HUGINN_AWS_ACCESS_KEY_ID |
|
109 |
+ HUGINN_AWS_ACCESS_KEY |
|
110 |
+ HUGINN_AWS_SANDBOX |
|
111 |
+ HUGINN_FARADAY_HTTP_BACKEND |
|
112 |
+ HUGINN_DEFAULT_HTTP_USER_AGENT |
|
113 |
+ HUGINN_ALLOW_JSONPATH_EVAL |
|
114 |
+ HUGINN_ENABLE_INSECURE_AGENTS |
|
115 |
+ HUGGIN_ENABLE_SECOND_PRECISION_SCHEDULE |
|
116 |
+ HUGINN_USE_GRAPHVIZ_DOT |
|
117 |
+ HUGINN_TIMEZONE |
|
118 |
+ HUGGIN_FAILED_JOBS_TO_KEEP |
|
119 |
+ |
|
120 |
+ |
|
121 |
+The above environment variables will override the defaults. The defaults are read from the [.env.example](https://github.com/cantino/huginn/blob/master/.env.example) file. |
|
122 |
+ |
|
123 |
+For variables in the .env.example that are commented out, the default is to not include that variable in the generated .env file. |
|
111 | 124 |
|
112 | 125 |
## Building on your own |
113 | 126 |
|
@@ -3,6 +3,9 @@ set -e |
||
3 | 3 |
|
4 | 4 |
cd /app |
5 | 5 |
|
6 |
+# Default to the environment variable values set in .env.example |
|
7 |
+source /app/.env.example |
|
8 |
+ |
|
6 | 9 |
# is a mysql or postgresql database linked? |
7 | 10 |
# requires that the mysql or postgresql containers have exposed |
8 | 11 |
# port 3306 and 5432 respectively. |
@@ -17,41 +20,48 @@ elif [ -n "${POSTGRESQL_PORT_5432_TCP_ADDR}" ]; then |
||
17 | 20 |
fi |
18 | 21 |
|
19 | 22 |
cat <<EOF > /app/.env |
20 |
-APP_SECRET_TOKEN=${APP_SECRET_TOKEN:-CHANGEME} |
|
21 |
-DOMAIN=${DOMAIN:+${HUGINN_HOST:-localhost}:${PORT:-5000}} |
|
22 |
-${ASSET_HOST:+ASSET_HOST=${ASSET_HOST}} |
|
23 |
-DATABASE_ADAPTER=${DATABASE_ADAPTER:-mysql2} |
|
24 |
-DATABASE_ENCODING=${DATABASE_ENCODING:-utf8} |
|
25 |
-DATABASE_RECONNECT=${DATABASE_RECONNECT:-true} |
|
26 |
-DATABASE_NAME=${DATABASE_NAME:-huginn} |
|
27 |
-DATABASE_POOL=${DATABASE_POOL:-5} |
|
28 |
-DATABASE_USERNAME=${DATABASE_USERNAME:-root} |
|
29 |
-DATABASE_PASSWORD="${DATABASE_PASSWORD}" |
|
30 |
-DATABASE_PORT=${DATABASE_PORT:-3306} |
|
31 |
-DATABASE_HOST=${DATABASE_HOST:-localhost} |
|
32 |
-DATABASE_PORT=${DATABASE_PORT:-3306} |
|
33 |
-${DATABASE_SOCKET:+DATABASE_SOCKET=${DATABASE_SOCKET:-/tmp/mysql.sock}} |
|
34 |
-${RAILS_ENV:+RAILS_ENV=${RAILS_ENV:-production}} |
|
35 |
-FORCE_SSL=${FORCE_SSL:-false} |
|
36 |
-INVITATION_CODE=${INVITATION_CODE:-try-huginn} |
|
37 |
-SMTP_DOMAIN=${SMTP_DOMAIM=-example.com} |
|
38 |
-SMTP_USER_NAME=${SMTP_USER_NAME:-you@gmail.com} |
|
39 |
-SMTP_PASSWORD=${SMTP_PASSWORD:-somepassword} |
|
40 |
-SMTP_SERVER=${SMTP_SERVER:-smtp.gmail.com} |
|
41 |
-SMTP_PORT=${SMTP_PORT:-587} |
|
42 |
-SMTP_AUTHENTICATION=${SMTP_AUTHENTICATION:-plain} |
|
43 |
-SMTP_ENABLE_STARTTLS_AUTO=${SMTP_ENABLE_STARTTLS_AUTO:-true} |
|
44 |
-EMAIL_FROM_ADDRESS=${EMAIL_FROM_ADDRESS:-huginn@example.com} |
|
45 |
-AGENT_LOG_LENGTH=${AGENT_LOG_LENGTH:-200} |
|
46 |
-AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID:-your aws access key id}" |
|
47 |
-AWS_ACCESS_KEY="${AWS_ACCESS_KEY:-your aws access key}" |
|
48 |
-AWS_SANDBOX=${AWS_SANDBOX:-false} |
|
49 |
-FARADAY_HTTP_BACKEND=${FARADAY_HTTP_BACKEND:-typhoeus} |
|
50 |
-DEFAULT_HTTP_USER_AGENT="${DEFAULT_HTTP_USER_AGENT:-Huginn - https://github.com/cantino/huginn}" |
|
51 |
-ALLOW_JSONPATH_EVAL=${ALLOW_JSONPATH_EVAL:-false} |
|
52 |
-ENABLE_INSECURE_AGENTS=${ENABLE_INSECURE_AGENTS:-false} |
|
53 |
-${USE_GRAPHVIZ_DOT:+USE_GRAPHVIZ_DOT=${USE_GRAPHVIZ_DOT:-dot}} |
|
54 |
-TIMEZONE="${TIMEZONE:-Pacific Time (US & Canada)}" |
|
23 |
+APP_SECRET_TOKEN=${HUGINN_APP_SECRET_TOKEN:-$APP_SECRET_TOKEN} |
|
24 |
+DOMAIN=${HUGINN_DOMAIN:-$DOMAIN} |
|
25 |
+${ASSET_HOST:+ASSET_HOST=${HUGINN_ASSET_HOST:-$ASSET_HOST}} |
|
26 |
+DATABASE_ADAPTER=${HUGINN_DATABASE_ADAPTER:-$DATABASE_ADAPTER} |
|
27 |
+DATABASE_ENCODING=${HUGINN_DATABASE_ENCODING:-$DATABASE_ENCODING} |
|
28 |
+DATABASE_RECONNECT=${HUGINN_DATABASE_RECONNECT:-$DATABASE_RECONNECT} |
|
29 |
+DATABASE_NAME=${HUGINN_DATABASE_NAME:-$DATABASE_NAME} |
|
30 |
+DATABASE_POOL=${HUGINN_DATABASE_POOL:-$DATABASE_POOL} |
|
31 |
+DATABASE_USERNAME=${HUGINN_DATABASE_USERNAME:-$DATABASE_USERNAME} |
|
32 |
+DATABASE_PASSWORD="${HUGINN_DATABASE_PASSWORD:-$DATABASE_PASSWORD}" |
|
33 |
+DATABASE_HOST=${HUGINN_DATABASE_HOST:-${DATABASE_HOST:-localhost}} |
|
34 |
+DATABASE_PORT=${HUGINN_DATABASE_PORT:-${DATABASE_PORT:-3306}} |
|
35 |
+${HUGINN_DATABASE_SOCKET:+DATABASE_SOCKET=${HUGINN_DATABASE_SOCKET}} |
|
36 |
+${HUGINN_RAILS_ENV:+RAILS_ENV=${HUGINN_RAILS_ENV}} |
|
37 |
+FORCE_SSL=${HUGINN_FORCE_SSL:-$FORCE_SSL} |
|
38 |
+INVITATION_CODE=${HUGINN_INVITATION_CODE:-$INVITATION_CODE} |
|
39 |
+SMTP_DOMAIN=${HUGINN_SMTP_DOMAIM:-$SMTP_DOMAIN} |
|
40 |
+SMTP_USER_NAME=${HUGINN_SMTP_USER_NAME:-$SMTP_USER_NAME} |
|
41 |
+SMTP_PASSWORD=${HUGINN_SMTP_PASSWORD:-$SMTP_PASSWORD} |
|
42 |
+SMTP_SERVER=${HUGINN_SMTP_SERVER:-$SMTP_SERVER} |
|
43 |
+SMTP_PORT=${HUGINN_SMTP_PORT:-$SMTP_PORT} |
|
44 |
+SMTP_AUTHENTICATION=${HUGINN_SMTP_AUTHENTICATION:-$SMTP_AUTHENTICATION} |
|
45 |
+SMTP_ENABLE_STARTTLS_AUTO=${HUGINN_SMTP_ENABLE_STARTTLS_AUTO:-$SMTP_ENABLE_STARTTLS_AUTO} |
|
46 |
+EMAIL_FROM_ADDRESS=${HUGINN_EMAIL_FROM_ADDRESS:-$EMAIL_FROM_ADDRESS} |
|
47 |
+AGENT_LOG_LENGTH=${HUGINN_AGENT_LOG_LENGTH:-$AGENT_LOG_LENGTH} |
|
48 |
+TWITTER_OAUTH_KEY=${HUGINN_TWITTER_OAUTH_KEY:-$TWITTER_OAUTH_KEY} |
|
49 |
+TWITTER_OAUTH_SECRET=${HUGINN_TWITTER_OAUTH_SECRET:-$TWITTER_OAUTH_SECRET} |
|
50 |
+THIRTY_SEVEN_SIGNALS_OAUTH_KEY=${HUGINN_THIRTY_SEVEN_SIGNALS_OAUTH_KEY:-$THIRTY_SEVEN_SIGNALS_OAUTH_KEY} |
|
51 |
+THIRTY_SEVEN_SIGNALS_OAUTH_SECRET=${HUGINN_THIRTY_SEVEN_SIGNALS_OAUTH_SECRET:-$THIRTY_SEVEN_SIGNALS_OAUTH_SECRET} |
|
52 |
+GITHUB_OAUTH_KEY=${HUGINN_GITHUB_OAUTH_KEY:-$GITHUB_OAUTH_KEY} |
|
53 |
+GITHUB_OAUTH_SECRET=${HUGINN_GITHUB_OAUTH_SECRET:-$GITHUB_OAUTH_SECRET} |
|
54 |
+AWS_ACCESS_KEY_ID="${HUGINN_AWS_ACCESS_KEY_ID:-$AWS_ACCESS_KEY_ID}" |
|
55 |
+AWS_ACCESS_KEY="${HUGINN_AWS_ACCESS_KEY:-$AWS_ACCESS_KEY}" |
|
56 |
+AWS_SANDBOX=${HUGINN_AWS_SANDBOX:-$AWS_SANDBOX} |
|
57 |
+FARADAY_HTTP_BACKEND=${HUGINN_FARADAY_HTTP_BACKEND:-$FARADAY_HTTP_BACKEND} |
|
58 |
+DEFAULT_HTTP_USER_AGENT=${HUGINN_DEFAULT_HTTP_USER_AGENT:-$DEFAULT_HTTP_USER_AGENT} |
|
59 |
+ALLOW_JSONPATH_EVAL=${HUGINN_ALLOW_JSONPATH_EVAL:-$ALLOW_JSONPATH_EVAL} |
|
60 |
+ENABLE_INSECURE_AGENTS=${HUGINN_ENABLE_INSECURE_AGENTS:-$HUGINN_ENABLE_INSECURE_AGENTS} |
|
61 |
+ENABLE_SECOND_PRECISION_SCHEDULE=${HUGGIN_ENABLE_SECOND_PRECISION_SCHEDULE:-$ENABLE_SECOND_PRECISION_SCHEDULE} |
|
62 |
+${HUGINN_USE_GRAPHVIZ_DOT:+USE_GRAPHVIZ_DOT=${HUGINN_USE_GRAPHVIZ_DOT}} |
|
63 |
+TIMEZONE="${HUGINN_TIMEZONE:-$TIMEZONE}" |
|
64 |
+FAILED_JOBS_TO_KEEP=${HUGGIN_FAILED_JOBS_TO_KEEP:-$FAILED_JOBS_TO_KEEP} |
|
55 | 65 |
EOF |
56 | 66 |
chmod ugo+r /app/.env |
57 | 67 |
source /app/.env |